package mine.code.day.year2021.month10;

import org.junit.Test;

/**
 * 你总共有n枚硬币，并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯，其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。
 * <p>
 * 给你一个数字n ，计算并返回可形成 完整阶梯行 的总行数。
 * <p>
 * 输入：n = 5
 * 输出：2
 * 解释：因为第三行不完整，所以返回 2 。
 *
 * @author caijinnan
 */
public class Day10_排列硬币 {


    @Test
    public void run() {
        System.out.println(arrangeCoins(6));
    }


    public int arrangeCoins(int n) {
        int rownum = 0;
        int coin = 1;
        while (n - coin >= 0) {
            n = n - coin;
            coin++;
            rownum++;
        }
        return rownum;
    }
}
